The present invention relates to a device and a process for regulating bit rate in a system for the statistical multiplexing of streams of images coded according to the MPEG 2 coding standard. This process and this device are integrated, for example, on each coder of a statistical multiplexing system.
A system for coding according to the MPEG 2 video standard uses the properties of the signal to reduce the bit rate thereof.
The coding algorithm implemented describes the images blockwise by exploiting the spatial and temporal redundancies of the images to be coded.
The spatial redundancy is processed, mainly, by virtue of the succession of three operations: an operation commonly called the discrete cosine transform and denoted DCT, an operation of quantizing the coefficients emanating from the DCT and a variable-length coding operation VLC for describing the quantized coefficients emanating from the DCT.
The DCT transformation makes it possible to transform a two-dimensional spatial representation consisting of the digitized video image into a spectral representation in which one is unaware of the phase. This DCT transformation leads to the production of a matrix of the dimension of a block where each coefficient corresponds to a combination of two frequencies, horizontal and vertical, given that the coefficients for the low frequencies are located at the top left of the matrix.
The quantization of the coefficients emanating from the matrix of the DCT transformation consists in expressing these coefficients according to values which are multiples of the quantization interval adopted. In this regard, the coefficients which are less than the quantization interval or level are coded with the value zero. Finally, the variable-length coding consists in coding each coefficient of the matrix once quantized according to a coding of entropy type which associates the smallest binary code with the commonest values of quantized coefficients. The coefficients of the matrix are traversed in a zigzag, starting from the element located at the top left of the matrix (continuous component) and terminating at the one located at the bottom right of the matrix (maximum horizontal and vertical frequencies).
The coding of the coefficients of the matrix terminates when all the coefficients have been traversed or else when the last non-zero coefficient is reached (a specific escape character is then used). Thus, the more zero coefficients there are in the matrix on completion of the quantization, the smaller is the length of the binary train for coding an image, that is to say the volume of data transmitted. On the other hand, the smaller this volume of data, the smaller the quantity of information about the image to be coded, thereby incurring the risk of inducing the appearance of quantization artifacts visible during image reconstruction by the decoder.
The temporal redundancy is analysed via a motion compensation operation which consists in searching, via a translation operation in respect of each block of the current image, for the most similar block located in a reference image. Analysis of the temporal redundancy leads to the determination of a field of translation vectors, commonly called motion vectors, as well as of a prediction error which is the difference between the signal of the current image and the signal of the image predicted by motion compensation. The prediction error is then analysed according to the principle of spatial redundancy.
MPEG 2 coding is a coding of predictive type. It follows that the decoding procedure associated therewith must be regularly reinitialized so as to protect the signal against any transmission error or any signal break due to the toggling of the decoder from one program to another.
To this end, the MPEG 2 standard provides that, periodically, the images must be coded in spatial mode, that is to say according to a mode exploiting spatial redundancy only. The images coded in spatial mode are commonly called INTRA images or I images.
The images coded by exploiting temporal redundancy are of two types: there are, on the one hand the images constructed by reference to a temporally earlier image and on the other hand, the images constructed by reference to a temporally earlier image and to a temporally later image.
The coded images constructed by reference to a temporally earlier image are commonly called predicted images or P images and the coded images constructed by reference to a temporally earlier image and to a temporally later image are commonly called bidirectional images or B images.
An I image is decoded without reference being made to images other than itself. A P image is decoded by referring to the P or I image which precedes it. A B image is decoded by calling on the I or P image which precedes it and on the I or P image which follows it.
The periodicity of the I images defines a group of images widely denoted GOP (the acronym standing for xe2x80x9cGroup Of Picturesxe2x80x9d).
As is known to the person skilled in the art, within a single GOP, the quantity of data contained in an I image is generally greater than the quantity of data contained in a P image and the quantity of data contained in a P image is generally greater than the quantity of data contained in a B image.
In order to manage this disparity in the quantities of data according to the type of image, an MPEG 2 coder comprises a device for slaving the data bit rate.
Such a slaving device makes it possible to control the stream of coded data. It comprises a buffer memory, for storing the coded data, and models the state of the dual buffer memory of a so-called reference decoder. The slaving device smoothes the bit rate of the data exiting the buffer memory in such a way that the sum of the data contained in the coder and in the reference decoder is constant.
Thus, as a function of the type of image (I, P or B) this involves managing the fact that the I images produce a bit rate greater than the mean bit rate (typically equal to 3 to 6 times the mean bit rate), that the P images produce a bit rate of close to the mean bit rate and that the B images produce a bit rate less than the mean bit rate (typically equal to 0.1 to 0.5 times the mean bit rate).
Furthermore, when the coded video signals of a program are intended to be multiplexed with, other signals of the same type from other program, it is known practice to share the global bit rate of the multiplex between the various signals. This configuration is found, for example, during broadcasting of video program by satellite. In this case, the bit rate of the multiplex may reach 40 MB/s, thus permitting the transport of several programs simultaneously (10 programs at 4 MB/s each for example).
A video program emanating from an MPEG 2 type coding at fixed bit rate exhibits, after decoding, a variation in the quality of the image restored. This stems from the variability of the entropy of the video signal over time, this variability being evidenced by a fluctuation in the quantization level of the DCT coefficients.
An appropriate allocation of the bit rates associated with the video program then makes it possible to globally increase the quality of the video programs as a whole and/or to raise the number of programs broadcast. According to the prior art, the result of coding the GOP of order k is then used as prediction of the expected coding difficulty for the GOP of order k+1.
The cost of coding each image is variable. It is the role of the regulating loop to correct the stream variations due to the variations in the complexity of the image (defined hereinbelow) and to transmit as output a stream of data corresponding to a stipulated bit rate. This regulation generally acts on the quantization interval which is dependent on the level of fill of the buffer memory at the output of the coder. This buffer memory makes it possible to absorb the bit rate deviations due to the variations in volume of the coded images depending on their type (I, P or B) as well as to the bit rate deviations due to the response time of the regulating loop.
The data stream at the output of a coder of a video source may be variable. It may indeed be beneficial, for example, in the case of a transmission of several video sources on a single channel, to distribute the available xe2x80x9cglobalxe2x80x9d bit rate of this channel among the various sources in a dynamic manner, that is to say as a function of the evolution of the complexity of the images to be coded of each video source. This process makes it possible to improve the global quality of the images transmitted, as compared with the existing processes, for example, those assigning a fixed bit rate to the video sources as a function of the type of program transmitted.
FIG. 2 represents an overall transmission using such a process. This involves transmitting several coded video sources on a single transmission channel with constant global bit rate. This bit rate corresponds to its capacity, for example, that of the channel of a transponder. The circuits for coding the video sources (Exe2x80x2(i)) are linked to the input of a multiplexer (2.a) whose output provides the data flow to be transmitted over the channel. They are also linked to an interface circuit (14) which transmits the data relating to the complexity of the video sources to a bit rate allocator (1.a) and receives the bit rates allocated to each source by this bit rate allocator (1.a). The latter, which therefore has the role of allotting a bit rate to each source (Exe2x80x2(i)), controls the multiplexing circuit or multiplexer (2.a). The information is exchanged by way of a fast bus to which is subscribed the bit rate allocator (1.a) and the interface circuit (14). A supervisory circuit (15) is linked to this bus so as to ensure the management of the overall transmission. Likewise, each encoder Exe2x80x2(i) comprises a bit rate regulating device (10.a) calculating the expected complexity of the next image to be coded according to the above principle.
The multiplexing is performed, for example, image by image, as a function of the bit rate allotted by the. bit rate allocator to each video source transmitted over the same channel. This bit rate is dependent on a coefficient of complexity of the video source taking into account the volume of information generated for a given quantization interval. This coefficient is measured for each GOP of each video source. It corresponds, for example, to the number of bits used to code a GOP, the quantization interval being constant or else to a normalized count of bits corresponding to the number of bits multiplied by the quantization interval if this interval is variable. The manner of operation of the variable bit rate coding process is ensured by the regulating loop which uses the buffer of the coder in a manner known per se.
The exploitation of variable bit rate encoders associated with statistical multiplexing dependent on the bit rate of each source such as described above is known and is a means of optimizing the capacity of the channel of the transponder.
However, these statistical multiplexing systems have numerous drawbacks. In particular, it is found that for a given quantization level, some sequences will be identical to the original whilst others will exhibit degradations. This evidences the fact that the quantization level is insufficient to characterize the quality of an image.
Likewise, the statistical multiplexing systems of the prior art tend to assign an identical quantization interval to all the encoders of the system. However, rendering the quantization level homogeneous regardless of the source engenders a poor distribution of coding quality. Thus, simple sequences will be greatly penalized and complex sequences will take too much bit rate.
The object of the present invention is therefore to alleviate the drawbacks o the prior art by proposing a device for regulating the bit rate of a system for the statistical multiplexing of streams of images coded according to the MPEG 2 coding standard, thereby making it possible to homogenize the rendition of subjective quality for all the programs of a statistical multiplexing system regardless of the type of sequence.
In accordance with the principles of the present invention, the statistical multiplexing system includes a device for allocating bit rate based on the complexity calculated by the bit rate regulating device. Each image stream coder includes a first spatial coded so as coder for performing a first spatial coding of images to determine the coding cost of each image if it had to be spatially coded and in advance with respect to a second actual coding by a second coding device. The complexity value of the last image spatially coded by the first coder is stored together with the complexity of the last group of pictures actually coded by the second, coder the last bit rate allotted by the bit rate allocation device. The device for regulating the coder bit rate for determining the complexity value for the next image coded by the second, coder uses a prerecorded program and the stored values. The bit rate regulating device also includes means for transmitting the complexity value to the bit rate allocating device for determining the next bit rate stipulations sent to the coders.
According to another particular feature, the quantization interval used by the bit rate regulating device to determine the complexity of the image to be coded is the maximum quantization interval between the last three quantization intervals determined by the bit rate regulating device, during the coding by the first coding device.
According to another particular feature, the bit rite regulating device comprises first means of calculating the square root of the value of the complexity previously calculated by the program, this value corresponding to the value transmitted by the bit rate regulating device to the bit rate allocator by the transmission means.
According to another particular feature, the bit rate regulating device comprises first means of calculating the square root of the value of the complexity previously calculated by the programme, this value corresponding to the value transmitted by the bit rate regulating device to the bit rate allocator by the transmission means.
According to another particular feature, the bit rate regulating device comprises second means for performing a minimum thresholding and a maximum thresholding of the value of the complexity.
According to another particular feature, the thresholding of the complexity is carried out by a comparator which determines the minimum value between, on the one hand the maximum threshold, and on the other hand the maximum between the minimum threshold and the last complexity calculated which is multiplied by a determined coefficient.
According to another particular feature, the first and second means consist respectively of a program module recorded on the storage means.
According to another particular feature, the bit rate regulating device is connected to a preprocessing device comprising at least one measurement device for detecting a change of scene and/or a lap dissolve by performing an analysis of the correlation between two successive images (inter correlation) between the pixel line of one image and the line of like rank of the following image, or an analysis of the correlation within an image (intra correlation) between the lines of one and the same image, the result of this analysis is transmitted to the bit rate regulating device which comprises a means of determining a complexity value adapted to the change of scene and/or to the lap dissolve, this value corresponding to the value transmitted by the bit rate regulating device to the bit rate allocator by the transmission means.
According to another particular feature, the preprocessing device which comprises a device for measuring intra correlation, after having successively detected a decorrelation then a recorrelation within an image (intra correlation), sends a signal to the bit rate regulating device, which is analysed as the detection of a lap dissolve, and the bit rate regulating device assigns in respect of a determined number of following images to be coded, a complexity value corresponding to the maximum threshold, the number of following images to be coded corresponding to the number of images contained in a group of pictures increased by one picture, this value corresponding to the value transmitted by the bit rate regulating device to the bit rate allocator by the transmission means.
According to another particular feature, the preprocessing device which comprises a device for measuring inter correlation, after having detected a strong decorrelation between two successive images (inter correlation), sends a signal to the bit rate regulating device which is representative of the measurement of the level of decorrelation between the two images, this signal being analysed by the bit rate regulating device as the detection of a change of scene, so as to evaluate the complexity which will be applied to a determined number of following images, as a function of the decorrelation level calculated by the preprocessing device.
A second object of the invention consists of a process for regulating bit rate of a coder of a statistical multiplexing system making it possible to guarantee identical rendition of subjective quality for all the programs of the statistical multiplexing system regardless of the type of sequence.
This aim is achieved by the fact that the process for regulating bit rate of each coder for a statistical multiplexing system, the statistical multiplexing system comprising a bit rate allocation device connected to each bit rate regulating device of each coder, each coder comprising a first coding device carrying out the spatial coding and with a lead time for all the images actually coded subsequently by a second coding device, the process comprising:
a step of storage on means of storage of the bit rate regulating device of each coder of values representative of the complexity of the last image coded by the first coding device, of the complexity of the last group of pictures coded by the second coding device, and of the last bit rate received from the bit rate allocator by the regulating device,
a step of calculating the estimate of the complexity of the next image coded by the second coding device on the basis of the values previously stored,
a step of transmitting the estimated complexity value of the next image coded by the second coding device to the bit rate allocation device.
According to another particular feature of the present invention, the bit rate regulating process comprises:
a second step of calculation, determining the complexity of the next image coded by the second coding device as the square root of the complexity determined by the first calculation step.
According to another particular feature of the present invention, the bit rate regulating process comprises:
a step of analysing a measurement of the correlation between two successive images making it possible to determine the presence of a change of scene and a quantity representative of the level of decorrelation between the two images,
a step of transmitting to the bit rate regulating device a signal representative of the detection of a change of scene and a quantity representative of the level of decorrelation between the two images,
a step of evaluating, by the bit rate regulating device, the value of the complexity of a determined number of images subsequently coded by the second coding device, as a function of the quantity representative of the level of decorrelation between the two images,
a step of transmitting, by the bit rate regulating device, the value of the complexity for the determined number of images, to the bit rate allocator.
According to another particular feature of the present invention, the bit rate regulating process comprises:
a step of analysing the measurement of the correlation between the lines of one and the same image so as to determine the presence of a lap dissolve in a sequence of images,
a step of transmitting a signal representative of the detection of a lap dissolve to the bit rate regulating device, and corresponding to the detection of a decorrelation then of a recorrelation between a pixel line of an image and the line of directly higher rank of the same image,
a step of transmitting, by the bit rate regulating device, to the bit rate allocator, a value of the complexity for a determined number of images subsequently coded by the second coding device, the value of the complexity corresponding to the maximum threshold of complexity allowable by the bit rate allocator.